package com.chinacoal.microservice.api;

import java.util.List;
import java.util.Map;

import org.springframework.cloud.openfeign.FeignAutoConfiguration;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;

import com.chinacoal.microservice.api.fallback.RestSysClientFallback;
import com.chinacoal.microservice.util.result.Result;

import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;

/**
 * @Description: 工作流引擎调用第三方系统的接口标准
 * @author linp
 * @date 2019年12月6日 下午4:56:34
 * @version V1.0
 */
@Api(tags={"流程引擎调用第三方系统的接口"})
@FeignClient(name = "ccms-workflow", configuration = FeignAutoConfiguration.class, fallback = RestSysClientFallback.class)
public interface RestSysClient {

    /**
     * @Description: 获取第三系统的审批人列表
     * @author linp
     * @date 2019年12月6日 下午4:56:20
     */
    @ApiOperation(value = "获取第三系统的审批人列表",notes= "此接口需要在第三方系统中实现，由流程引擎触发调用并根据第三方系统的返回值执行审批处理")
    @PostMapping("/workflow/restsys/getApprover")
    public Result<List<Map<String, String>>> getApprover(@RequestBody Map<String, String> param);
}
